/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved.
 * Description: 
 * Author: g00421808
 * Create: 6/28/2022
 * Notes: 
 */

#ifndef JSBIND_CONSTRUCTOR_BINDER_H
#define JSBIND_CONSTRUCTOR_BINDER_H
#include "binder.h"

namespace Jsb {

/**
 * @brief: 类构造函数类型Binder，定义所有类构造函数回调类型为：C(P...)的回调Binder
 */
template <typename BinderType, typename C, typename... P>
class ConstructorBinder : public TemplatedBinder<BinderType, void*, C, P...> {
public:

    // | static |
    template<typename... Args>
    static std::unique_ptr<Value> InnerWrapper(Jsb::BindInfo* bindInfo, Args&&... args) {
        return nullptr;
    }

    static constexpr auto type = Binder::Type::Constructor;

};
} // namespace Jsb
#endif //JSBIND_CONSTRUCTOR_BINDER_H
